package com.vjwealth.android.nos.utils

import android.graphics.Color
import android.os.CountDownTimer
import android.text.Spannable
import android.text.SpannableString
import android.text.style.ForegroundColorSpan
import android.widget.Button
import com.vjwealth.android.nos.R

/**
 * projectName KNOS
 * date 2017/9/28
 * description com.vjwealth.android.nos.utils
 */
class CountDownTimerUtils(button: Button,
                          millisInFuture: Long,
                          countDownInterval: Long) : CountDownTimer(millisInFuture, countDownInterval) {

    private var mButton: Button

    init {
        mButton = button
    }
    override fun onFinish() {
        mButton.text = ""
        mButton.isClickable = true
        mButton.setBackgroundResource(R.mipmap.get_code)
    }

    /**
        超链接 URLSpan
        文字背景颜色 BackgroundColorSpan
        文字颜色 ForegroundColorSpan
        字体大小 AbsoluteSizeSpan
        粗体、斜体 StyleSpan
        删除线 StrikethroughSpan
        下划线 UnderlineSpan
        图片 ImageSpan
        http://blog.csdn.net/ah200614435/article/details/7914459

        public void setSpan(Object what, int start, int end, int flags) {
        主要是start跟end，start是起始位置,无论中英文，都算一个。
        从0开始计算起。end是结束位置，所以处理的文字，包含开始位置，但不包含结束位置。
     */
    override fun onTick(millisUntilFinished: Long) {
        mButton.isClickable = false
        mButton.text = (millisUntilFinished / 1000).toString() + "s"
        mButton.setBackgroundResource(R.drawable.btn_get_code)
        var spanStr = SpannableString(mButton.text)
        var foreSpan = ForegroundColorSpan(Color.parseColor("#77CCCCCC"))
        spanStr.setSpan(foreSpan, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)
        mButton.text = spanStr
    }

}